/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package conexaobancodedados;

import bancodedados3d.Main;
//import com.mysql.jdbc.Statement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;

/**
 *
 * @author fosa
 */
public class Consulta {

    public Object[][][] consulta(String SQL) {

        Statement stm = Main.GlConexão.getGlconexão();

        Object[][][] retorno = new Object[2][2][2];

        try {
            Object[][] matriz;
            String[] titulo;

            ResultSet result = stm.executeQuery(SQL);
            ResultSetMetaData meta = result.getMetaData();

// vetor do titulo da tabela
            int NumCol = meta.getColumnCount();
            titulo = new String[NumCol];

            for (int i = 1; i <= NumCol; i++) {
                titulo[i - 1] = (String) meta.getColumnLabel(i);
            }

//pegando o numero de linhas
            result.last();
            int numlinhas = result.getRow();
            result.first();

//criando a matriz dos resultados
            matriz = new Object[numlinhas][NumCol];
            int j = 0;
            try {
                do {
                    for (int i = 1; i <= NumCol; i++) {
                        matriz[j][i - 1] = result.getObject(i);
                    }
                    j++;
                } while (result.next());
            } catch (java.lang.ArrayIndexOutOfBoundsException e) {
                System.out.print("Consulta sem resultado");
            }

//            retorno = new RetornoConsulta();
//            retorno.SetObj(matriz);
//            retorno.SetStr(titulo);

            retorno[0][0] = titulo;
            retorno[1] = matriz;

        } catch (SQLException ex) {
            System.out.println("Houve erro na Consulta");
        } catch (NullPointerException ex) {
            System.out.println("Houve erro na Consulta nulo");
            ex.printStackTrace();
        }
        return retorno;
    }

    public int Atualizar(String SQL) {

        Statement stm = Main.GlConexão.getGlconexão();

        int ret = 1;
        try {
            stm.executeUpdate(SQL);
        } catch (SQLException ex) {
            System.out.println("erro na inserçao");
            ret = -1;
        }
        return ret;
    }
}
